package sort;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

/*
* 56. 合并区间
*       数组左边排序, 左边相同的右边比大小
         list里放数组
*
* */
public class Merge56 {
    public int[][] merge(int[][] intervals) {
        if(intervals.length==1){
            return intervals;
        }
        Arrays.sort(intervals, new Comparator<int[]>() {
            @Override
            public int compare(int[] interval1, int[] interval2) {
                return interval1[0]-interval2[0];
            }
        });
        List<int[]> res=new ArrayList<>();
        for(int i=0;i<intervals.length;i++){
            int L=intervals[i][0];
            int R=intervals[i][1];
            if(res.size()==0 || res.get(res.size()-1)[1]<L){
                res.add(new int[]{L,R});
            }else{
                // 给数组赋值,
                res.get((res.size()-1))[1]=Math.max(res.get(res.size()-1)[1],R);
            }
        }
        return res.toArray(new int[res.size()][]);
    }
}
